From: Carlos Garcia Campos Date: Wed, 11 Nov 2015 11:30:24 +0000 (+0100) Subject: browser-plugin: Set windowless mode and don't claim to need XEmbed X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1064 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f4b7ab0cb68d343317660b1f040e1fe9ba67ab83;p=gnome-shell.git browser-plugin: Set windowless mode and don't claim to need XEmbed NPAPI plugins are windowed by default, so we need to set NPPVpluginWindowBool value to FALSE on startup. This way the browser will not create a GtkSocket for a GtkPlug that we are not going to create. It doesn't make sense to claim that we need XEmbed either. https://bugzilla.gnome.org/show_bug.cgi?id=757940 --- diff --git a/browser-plugin/browser-plugin.c b/browser-plugin/browser-plugin.c index 46dacae27..dbeac336e 100644 --- a/browser-plugin/browser-plugin.c +++ b/browser-plugin/browser-plugin.c @@ -162,6 +162,7 @@ NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin) plugin->destroy = NPP_Destroy; plugin->getvalue = NPP_GetValue; plugin->setwindow = NPP_SetWindow; + plugin->event = NPP_HandleEvent; return NPERR_NO_ERROR; } @@ -218,6 +219,9 @@ NPP_New(NPMIMEType mimetype, data = g_slice_new (PluginData); instance->pdata = data; + /* set windowless mode */ + funcs.setvalue(instance, NPPVpluginWindowBool, NULL); + data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, G_DBUS_PROXY_FLAGS_NONE, NULL, /* interface info */ @@ -1034,10 +1038,6 @@ NPP_GetValue(NPP instance, *(NPObject**)value = funcs.createobject (instance, &plugin_class); break; - case NPPVpluginNeedsXEmbed: - *(bool *)value = TRUE; - break; - default: ; } @@ -1053,3 +1053,11 @@ NPP_SetWindow(NPP instance, { return NPERR_NO_ERROR; } + +int16_t +NPP_HandleEvent(NPP instance, + void *event) +{ + /* Ignore the event */ + return FALSE; +}